import 'package:flutter_base/base/controller/base_controller.dart';
import 'package:flutter_base/generated/assets.dart';
import 'package:flutter_base/user/app_user_manager.dart';
import 'package:flutter_base/utils/loading/loading_utils.dart';
import 'package:flutter_base/config/app_routes.dart';
import 'package:flutter_base/widgets/dialog/common_normal_sheet.dart';
import 'package:flutter_base/widgets/image/auto_image.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';

class SettingLogic extends BaseController {
  // 自动续费开关状态
  final isAutoRenewalEnabled = true.obs;

  @override
  void onInit() {
    super.onInit();
    // 在这里初始化数据
  }

  @override
  void onReady() {
    super.onReady();
    // 页面准备就绪后调用
  }

  // 账户设置
  void onAccountSettingsTap() {
    // 跳转到账户设置页面
    Get.toNamed(AppRoutes.accountSettings);
  }

  // 联系客服
  void onContactCustomerServiceTap() {
    // 处理联系客服点击事件
  }

  // 用户协议
  void onUserAgreementTap() {
    // 处理用户协议点击事件
  }

  // 隐私政策
  void onPrivacyPolicyTap() {
    // 处理隐私政策点击事件
  }

  // 免责声明
  void onDisclaimerTap() {
    // 处理免责声明点击事件
  }

  // 切换自动续费状态
  void toggleAutoRenewal(bool value) {
    isAutoRenewalEnabled.value = value;
    update();
  }

  // 语言切换
  void onLanguageSwitchTap() {
    // 处理语言切换点击事件
  }

  // 检查更新
  void onCheckForUpdatesTap() {
    // 处理检查更新点击事件
    LoadingUtils.showToast('已是最新版本');
  }

  // 清除缓存
  void onClearCacheTap() {
    // 处理清除缓存点击事件
    LoadingUtils.showLoading(status: '正在清除缓存...');

    // 模拟清除缓存过程
    Future.delayed(const Duration(seconds: 1), () {
      LoadingUtils.dismiss();
      LoadingUtils.showToast('缓存已清除');
    });
  }

  // 退出登录
  void onLogoutTap() {
    CommonNormalSheet(
      title: 'Are you sure you want to log out?',
      message:
          'You will not be able to submit test proposals after logging out.',
      titleMessagePadding: 8,

      topWidget: AutoImage(
        Assets.accountSettingLogout,
        width: 100.w,
      ),
      onSure: () {

        AppUserManager().logout();
      },
    ).show();

    // 处理退出登录点击事件
    // 例如：Get.offAllNamed('/login');
  }
}
